package com.angel.resourceBundle.internationalizable;

import javax.persistence.Column;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;

import com.angel.architecture.persistence.base.PersistentObject;


/**
 *
 * @author William
 * @since 17/April/2009
 */
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(discriminatorType = DiscriminatorType.STRING, name ="discriminatorInternationalizable")
@DiscriminatorValue("Internationalizable")
public abstract class Internationalizable extends PersistentObject implements Comparable<Object>{

	private static final long serialVersionUID = -140255376427134070L;

	@Column(length = 50, nullable = false)
	private String keyValue;

	public abstract String getText();

	public abstract Object getOwner();

	public abstract void setOwner(Object owner);

	public Internationalizable(){
		super();
	}

	/**
	 * @return the keyValue
	 */
	public String getKeyValue() {
		return keyValue;
	}

	/**
	 * @param keyValue the keyValue to set
	 */
	public void setKeyValue(String keyValue) {
		this.keyValue = keyValue;
	}

}
